package pcb.models.vo 
{
	
	/**
	 * An IAsset describes an external resource used in an ISlide object
	 * @author Fintan Boyle
	 */
	public interface IAsset 
	{
		function getId():String;
		function setId(id:String):void;
		
		//will be set to true when instantiated if asset has nothing other than text
		function isLoaded():Boolean;
		function setLoaded(boo:Boolean):void;	
		
		//sound/image/swf/video/xml/text
		//more specifically intended for Custom Types such as NarrativeVo
		function getAssetType():String;
		function setAssetType(type:String):void;
		
		//for debug feedback
		//may be redundant for some asset types (such as label?)
		function getUrl():String;
		function setUrl(url:String):void;
		
		function getOwnerId():String;
		function setOwnerId(id:String):void;
	}
	
}